<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>sgp4oo: Referencia de la Clase sgp4_math</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generado por Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Página&nbsp;principal</span></a></li>
      <li class="current"><a href="annotated.html"><span>Clases</span></a></li>
      <li><a href="files.html"><span>Archivos</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Lista&nbsp;de&nbsp;clases</span></a></li>
      <li><a href="functions.html"><span>Miembros&nbsp;de&nbsp;las&nbsp;clases</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Referencia de la Clase sgp4_math</h1><!-- doxytag: class="sgp4_math" -->
<p><code>#include &lt;<a class="el" href="sgp4__math_8h_source.html">sgp4_math.h</a>&gt;</code></p>

<p><a href="classsgp4__math-members.html">Lista de todos los miembros.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Métodos públicos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#a88f575cde2af14c3b7f8e3bb64053e49">asinh</a> (double xval)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this function evaluates the inverse hyperbolic sine function.  <a href="#a88f575cde2af14c3b7f8e3bb64053e49"></a><br/></td></tr>
<tr><td colspan="2"><h2>Métodos públicos estáticos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#aea3e78c4a67943a23eabdbd4d0585c3e">sgn</a> (double x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this file contains extra routines needed for the main test program for sgp4.  <a href="#aea3e78c4a67943a23eabdbd4d0585c3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#a66bce8799e00fe4c922b9f0434b6128e">mag</a> (double x[3])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this procedure finds the magnitude of a vector  <a href="#a66bce8799e00fe4c922b9f0434b6128e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#a35d24a138a32d34caaf17e2cf023b947">cross</a> (double vec1[3], double vec2[3], double outvec[3])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this procedure crosses two vectors.  <a href="#a35d24a138a32d34caaf17e2cf023b947"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#ae74041d2049dee6fae0db1c6a7515643">dot</a> (double x[3], double y[3])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this function finds the dot product of two vectors..  <a href="#ae74041d2049dee6fae0db1c6a7515643"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#a33722da47f2bfa0849412316cddfabf5">angle</a> (double vec1[3], double vec2[3])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this procedure calculates the angle between two vectors.  <a href="#a33722da47f2bfa0849412316cddfabf5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#a67021755c597c209e05704690f3324b2">newtonnu</a> (double ecc, double nu, double &amp;e0, double &amp;m)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this function solves keplers equation when the true anomaly is known.  <a href="#a67021755c597c209e05704690f3324b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsgp4__math.html#aafe8e1a26df7d91fb20be252f263a58a">rv2coe</a> (double r[3], double v[3], double mu, double &amp;p, double &amp;a, double &amp;ecc, double &amp;incl, double &amp;omega, double &amp;argp, double &amp;nu, double &amp;m, double &amp;arglat, double &amp;truelon, double &amp;lonper)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this function finds the classical orbital elements given the geocentric equatorial position and velocity vectors.  <a href="#aafe8e1a26df7d91fb20be252f263a58a"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Descripción detallada</h2>

<p>Definición en la línea <a class="el" href="sgp4__math_8h_source.html#l00032">32</a> del archivo <a class="el" href="sgp4__math_8h_source.html">sgp4_math.h</a>.</p>
<hr/><h2>Documentación de las funciones miembro</h2>
<a class="anchor" id="a33722da47f2bfa0849412316cddfabf5"></a><!-- doxytag: member="sgp4_math::angle" ref="a33722da47f2bfa0849412316cddfabf5" args="(double vec1[3], double vec2[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sgp4_math::angle </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>vec1</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>vec2</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this procedure calculates the angle between two vectors. </p>
<p>----------------------------------------------------------------------------- </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vec1</em>&nbsp;</td><td>vector compuesto por 3 double </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vec2</em>&nbsp;</td><td>vector compuesto por 3 double </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>double angulo de los dos vectores </dd></dl>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado</dd></dl>
<p>procedure angle</p>
<p>this procedure calculates the angle between two vectors. the output is set to 999999.1 to indicate an undefined value. be sure to check for this at the output phase.</p>
<p>author : david vallado 719-573-2600 1 mar 2001</p>
<p>inputs description range / units vec1 - vector number 1 vec2 - vector number 2</p>
<p>outputs : theta - angle between the two vectors -pi to pi</p>
<p>locals : temp - temporary real variable</p>
<p>coupling : dot dot product of two vectors --------------------------------------------------------------------------- Esta función devuelve el ángulo mínimo formado por dos vectores </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vec1</em>&nbsp;</td><td>Array de, al menos, tres componentes de tipo <b>double</b>, que representa al primer vector. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vec2</em>&nbsp;</td><td>El otro vector de tipo Array con, al menos, tres componentes de tipo <b>double</b>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>El ángulo formado por ambos vectores por medio de la función arcocoseno(vec1 · vec2 / (|vec1|*|vec2|)). O, en el caso de que, al menos, el módulo de uno de los vectores sea muy cercano a 0, devolverá 999999.1 </dd></dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00193">193</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

<p><div class="dynheader">
Gráfico de llamadas para esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_a33722da47f2bfa0849412316cddfabf5_cgraph.png" border="0" usemap="#classsgp4__math_a33722da47f2bfa0849412316cddfabf5_cgraph_map" alt=""></div>
<map name="classsgp4__math_a33722da47f2bfa0849412316cddfabf5_cgraph_map" id="classsgp4__math_a33722da47f2bfa0849412316cddfabf5_cgraph">
<area shape="rect" href="classsgp4__math.html#ae74041d2049dee6fae0db1c6a7515643" title="this function finds the dot product of two vectors.." alt="" coords="183,5,295,35"/><area shape="rect" href="classsgp4__math.html#a66bce8799e00fe4c922b9f0434b6128e" title="this procedure finds the magnitude of a vector" alt="" coords="180,59,297,88"/><area shape="rect" href="classsgp4__math.html#aea3e78c4a67943a23eabdbd4d0585c3e" title="this file contains extra routines needed for the main test program for sgp4." alt="" coords="181,112,296,141"/></map>
</div>
</p>

<p><div class="dynheader">
Gráfico de llamadas a esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_a33722da47f2bfa0849412316cddfabf5_icgraph.png" border="0" usemap="#classsgp4__math_a33722da47f2bfa0849412316cddfabf5_icgraph_map" alt=""></div>
<map name="classsgp4__math_a33722da47f2bfa0849412316cddfabf5_icgraph_map" id="classsgp4__math_a33722da47f2bfa0849412316cddfabf5_icgraph">
<area shape="rect" href="classsgp4__math.html#aafe8e1a26df7d91fb20be252f263a58a" title="this function finds the classical orbital elements given the geocentric equatorial..." alt="" coords="180,5,311,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a88f575cde2af14c3b7f8e3bb64053e49"></a><!-- doxytag: member="sgp4_math::asinh" ref="a88f575cde2af14c3b7f8e3bb64053e49" args="(double xval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sgp4_math::asinh </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xval</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this function evaluates the inverse hyperbolic sine function. </p>
<p>-----------------------------------------------------------------------------</p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xval</em>&nbsp;</td><td>angle value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>arcsinh - result </dd></dl>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado</dd></dl>
<p>function asinh</p>
<p>this function evaluates the inverse hyperbolic sine function.</p>
<p>author : david vallado 719-573-2600 1 mar 2001</p>
<p>inputs description range / units xval - angle value any real</p>
<p>outputs : arcsinh - result any real</p>
<p>locals : none.</p>
<p>coupling : none.</p>
<p>--------------------------------------------------------------------------- Esta función devuelve el arcoseno hiperbólico del valor introducido. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xval</em>&nbsp;</td><td>variable para calcular su arcoseno hiperbólico </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>El arcoseno hiperbólico de xval. </dd></dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00243">243</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a35d24a138a32d34caaf17e2cf023b947"></a><!-- doxytag: member="sgp4_math::cross" ref="a35d24a138a32d34caaf17e2cf023b947" args="(double vec1[3], double vec2[3], double outvec[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sgp4_math::cross </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>vec1</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>vec2</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>outvec</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this procedure crosses two vectors. </p>
<p>----------------------------------------------------------------------------- </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vec1</em>&nbsp;</td><td>vector compuesto por 3 double </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vec2</em>&nbsp;</td><td>vector compuesto por 3 double </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outvec</em>&nbsp;</td><td>vector compuesto por 3 double, resultado</td></tr>
  </table>
  </dd>
</dl>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado procedure cross</dd></dl>
<p>this procedure crosses two vectors.</p>
<p>author : david vallado 719-573-2600 1 mar 2001</p>
<p>inputs description range / units vec1 - vector number 1 vec2 - vector number 2</p>
<p>outputs : outvec - vector result of a x b</p>
<p>locals : none.</p>
<p>coupling : mag magnitude of a vector ---------------------------------------------------------------------------- Esta función obtiene el producto vectorial de los dos primeros vectores pasados por parámetros y lo devuelve en el tercer vector pasado por parámetro, </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vec1</em>&nbsp;</td><td>Array de tres componentes <b>double</b>, que representa el primer vector pasado por parámetro. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vec2</em>&nbsp;</td><td>Array de tres componentes <b>double</b>, que representa el segundo vector pasado por parámetro. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outvec</em>&nbsp;</td><td>Array de tres componentes <b>double</b>, que representa el resultado del producto vectorial de vec1 por vec2 (vec1 x vec2). Cualquier valor que tuviera antes de la función, se perderá. </td></tr>
  </table>
  </dd>
</dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00113">113</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

<p><div class="dynheader">
Gráfico de llamadas a esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_a35d24a138a32d34caaf17e2cf023b947_icgraph.png" border="0" usemap="#classsgp4__math_a35d24a138a32d34caaf17e2cf023b947_icgraph_map" alt=""></div>
<map name="classsgp4__math_a35d24a138a32d34caaf17e2cf023b947_icgraph_map" id="classsgp4__math_a35d24a138a32d34caaf17e2cf023b947_icgraph">
<area shape="rect" href="classsgp4__math.html#aafe8e1a26df7d91fb20be252f263a58a" title="this function finds the classical orbital elements given the geocentric equatorial..." alt="" coords="180,5,311,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae74041d2049dee6fae0db1c6a7515643"></a><!-- doxytag: member="sgp4_math::dot" ref="ae74041d2049dee6fae0db1c6a7515643" args="(double x[3], double y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sgp4_math::dot </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this function finds the dot product of two vectors.. </p>
<p>----------------------------------------------------------------------------- </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vec1</em>&nbsp;</td><td>vector compuesto por 3 double </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vec2</em>&nbsp;</td><td>vector compuesto por 3 double </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>double resultado de aplicar la funcion </dd></dl>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado</dd></dl>
<p>function dot</p>
<p>this function finds the dot product of two vectors.</p>
<p>author : david vallado 719-573-2600 1 mar 2001</p>
<p>inputs description range / units vec1 - vector number 1 vec2 - vector number 2</p>
<p>outputs : dot - result</p>
<p>locals : none.</p>
<p>coupling : none.</p>
<p>--------------------------------------------------------------------------- Esta función obtiene el producto escalar de dos vectores pasados por parámetro. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Primer array que representa un vector. Tiene que tener reservado, como mínimo, tres componentes de tipo <b>double</b>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Segundo array que representa el otro vector. También tiene que tener reservado, como mínimo, tres componentes de tipo <b>double</b>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>El producto escalar (x · y), es decir, devuelve exáctamente "x[0]*y[0] + x[1]*y[1] + x[2]*y[2]". </dd></dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00154">154</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

<p><div class="dynheader">
Gráfico de llamadas a esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_ae74041d2049dee6fae0db1c6a7515643_icgraph.png" border="0" usemap="#classsgp4__math_ae74041d2049dee6fae0db1c6a7515643_icgraph_map" alt=""></div>
<map name="classsgp4__math_ae74041d2049dee6fae0db1c6a7515643_icgraph_map" id="classsgp4__math_ae74041d2049dee6fae0db1c6a7515643_icgraph">
<area shape="rect" href="classsgp4__math.html#a33722da47f2bfa0849412316cddfabf5" title="this procedure calculates the angle between two vectors." alt="" coords="167,5,289,35"/><area shape="rect" href="classsgp4__math.html#aafe8e1a26df7d91fb20be252f263a58a" title="this function finds the classical orbital elements given the geocentric equatorial..." alt="" coords="340,32,471,61"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a66bce8799e00fe4c922b9f0434b6128e"></a><!-- doxytag: member="sgp4_math::mag" ref="a66bce8799e00fe4c922b9f0434b6128e" args="(double x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sgp4_math::mag </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]</td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this procedure finds the magnitude of a vector </p>
<p>-----------------------------------------------------------------------------</p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>vector compuesto por 3 double </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>double </dd></dl>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado</dd></dl>
<p>function mag</p>
<p>this procedure finds the magnitude of a vector. the tolerance is set to 0.000001, thus the 1.0e-12 for the squared test of underflows.</p>
<p>author : david vallado 719-573-2600 1 mar 2001</p>
<p>inputs description range / units vec - vector</p>
<p>outputs : vec - answer stored in fourth component</p>
<p>locals : none.</p>
<p>coupling : none. --------------------------------------------------------------------------- Tratando a x como un vector de tres componentes, esta función devuelve el módulo de ese vector. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Array que representa un vector. Debe tener reservados tres componentes de tipo double, es decir, x debe ser x[3] </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>el módulo del vector x. </dd></dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00077">77</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

<p><div class="dynheader">
Gráfico de llamadas a esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_a66bce8799e00fe4c922b9f0434b6128e_icgraph.png" border="0" usemap="#classsgp4__math_a66bce8799e00fe4c922b9f0434b6128e_icgraph_map" alt=""></div>
<map name="classsgp4__math_a66bce8799e00fe4c922b9f0434b6128e_icgraph_map" id="classsgp4__math_a66bce8799e00fe4c922b9f0434b6128e_icgraph">
<area shape="rect" href="classsgp4__math.html#a33722da47f2bfa0849412316cddfabf5" title="this procedure calculates the angle between two vectors." alt="" coords="193,5,316,35"/><area shape="rect" href="classsgp4__math.html#aafe8e1a26df7d91fb20be252f263a58a" title="this function finds the classical orbital elements given the geocentric equatorial..." alt="" coords="385,32,516,61"/><area shape="rect" href="class_testing_class.html#a2cbf72044243dc0d966d6bfc574b0a42" title="TestingClass::testGrado" alt="" coords="175,109,335,139"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a67021755c597c209e05704690f3324b2"></a><!-- doxytag: member="sgp4_math::newtonnu" ref="a67021755c597c209e05704690f3324b2" args="(double ecc, double nu, double &amp;e0, double &amp;m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sgp4_math::newtonnu </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>ecc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>nu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>e0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this function solves keplers equation when the true anomaly is known. </p>
<p>----------------------------------------------------------------------------- </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ecc</em>&nbsp;</td><td>- eccentricity 0.0 to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nu</em>&nbsp;</td><td>- true anomaly -2pi to 2pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>e0</em>&nbsp;</td><td>output - eccentric anomaly 0.0 to 2pi rad 153.02 � </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>output - mean anomaly 0.0 to 2pi rad 151.7425 �* </td></tr>
  </table>
  </dd>
</dl>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado</dd></dl>
<p>function newtonnu</p>
<p>this function solves keplers equation when the true anomaly is known. the mean and eccentric, parabolic, or hyperbolic anomaly is also found. the parabolic limit at 168� is arbitrary. the hyperbolic anomaly is also limited. the hyperbolic sine is used because it's not double valued.</p>
<p>author : david vallado 719-573-2600 27 may 2002</p>
<p>revisions vallado - fix small 24 sep 2002</p>
<p>inputs description range / units ecc - eccentricity 0.0 to nu - true anomaly -2pi to 2pi rad</p>
<p>outputs : e0 - eccentric anomaly 0.0 to 2pi rad 153.02 � m - mean anomaly 0.0 to 2pi rad 151.7425 �</p>
<p>locals : e1 - eccentric anomaly, next value rad sine - sine of e cose - cosine of e ktr - index</p>
<p>coupling : asinh - arc hyperbolic sine</p>
<p>references : vallado 2007, 85, alg 5 --------------------------------------------------------------------------- Esta función resuelve la ecuación de Kepler, cuando la verdadera anomalía es conocida. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ecc</em>&nbsp;</td><td>Valor de la excentricidad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nu</em>&nbsp;</td><td>Valor de la verdadera anomalía. Este valor debe estar comprendido entre -2pi y 2pi radianes. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>e0</em>&nbsp;</td><td>Parámetro para obtener la anomalía excéntrica. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>Parámetro para obtener la anomalía media. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
  </table>
  </dd>
</dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00296">296</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

<p><div class="dynheader">
Gráfico de llamadas a esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_a67021755c597c209e05704690f3324b2_icgraph.png" border="0" usemap="#classsgp4__math_a67021755c597c209e05704690f3324b2_icgraph_map" alt=""></div>
<map name="classsgp4__math_a67021755c597c209e05704690f3324b2_icgraph_map" id="classsgp4__math_a67021755c597c209e05704690f3324b2_icgraph">
<area shape="rect" href="classsgp4__math.html#aafe8e1a26df7d91fb20be252f263a58a" title="this function finds the classical orbital elements given the geocentric equatorial..." alt="" coords="204,5,335,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aafe8e1a26df7d91fb20be252f263a58a"></a><!-- doxytag: member="sgp4_math::rv2coe" ref="aafe8e1a26df7d91fb20be252f263a58a" args="(double r[3], double v[3], double mu, double &amp;p, double &amp;a, double &amp;ecc, double &amp;incl, double &amp;omega, double &amp;argp, double &amp;nu, double &amp;m, double &amp;arglat, double &amp;truelon, double &amp;lonper)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sgp4_math::rv2coe </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>r</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>v</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>ecc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>incl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>omega</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>argp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>nu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>arglat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>truelon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>lonper</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this function finds the classical orbital elements given the geocentric equatorial position and velocity vectors. </p>
<p>----------------------------------------------------------------------------- </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>- ijk position vector km </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>- ijk velocity vector km / s </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mu</em>&nbsp;</td><td>- gravitational parameter km3 / s2 </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>output - semilatus rectum km </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>output - semimajor axis km </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecc</em>&nbsp;</td><td>output - eccentricity </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>incl</em>&nbsp;</td><td>output - inclination 0.0 to pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>omega</em>&nbsp;</td><td>output - longitude of ascending node 0.0 to 2pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argp</em>&nbsp;</td><td>output - argument of perigee 0.0 to 2pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nu</em>&nbsp;</td><td>output - true anomaly 0.0 to 2pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>output - mean anomaly 0.0 to 2pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>arglat</em>&nbsp;</td><td>output - argument of latitude (ci) 0.0 to 2pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>truelon</em>&nbsp;</td><td>output - true longitude (ce) 0.0 to 2pi rad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lonper</em>&nbsp;</td><td>output - longitude of periapsis (ee) 0.0 to 2pi rad </td></tr>
  </table>
  </dd>
</dl>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado</dd></dl>
<p>function rv2coe</p>
<p>this function finds the classical orbital elements given the geocentric equatorial position and velocity vectors.</p>
<p>author : david vallado 719-573-2600 21 jun 2002</p>
<p>revisions vallado - fix special cases 5 sep 2002 vallado - delete extra check in inclination code 16 oct 2002 vallado - add constant file use 29 jun 2003 vallado - add mu 2 apr 2007</p>
<p>inputs description range / units r - ijk position vector km v - ijk velocity vector km / s mu - gravitational parameter km3 / s2</p>
<p>outputs : p - semilatus rectum km a - semimajor axis km ecc - eccentricity incl - inclination 0.0 to pi rad omega - longitude of ascending node 0.0 to 2pi rad argp - argument of perigee 0.0 to 2pi rad nu - true anomaly 0.0 to 2pi rad m - mean anomaly 0.0 to 2pi rad arglat - argument of latitude (ci) 0.0 to 2pi rad truelon - true longitude (ce) 0.0 to 2pi rad lonper - longitude of periapsis (ee) 0.0 to 2pi rad</p>
<p>locals : hbar - angular momentum h vector km2 / s ebar - eccentricity e vector nbar - line of nodes n vector c1 - v**2 - u/r rdotv - r dot v hk - hk unit vector sme - specfic mechanical energy km2 / s2 i - index e - eccentric, parabolic, hyperbolic anomaly rad temp - temporary variable typeorbit - type of orbit ee, ei, ce, ci</p>
<p>coupling : mag - magnitude of a vector cross - cross product of two vectors angle - find the angle between two vectors newtonnu - find the mean anomaly</p>
<p>references : vallado 2007, 126, alg 9, ex 2-5 --------------------------------------------------------------------------- Esta función busca los clásicos elementos orbitales, dada la posición geocéntrica ecuatorial y los vectores de velocidad. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>vector de posición </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>vector de velocidad </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mu</em>&nbsp;</td><td>parámetro gravitacional </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>semi-latus rectum. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>semimajor axis. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecc</em>&nbsp;</td><td>excentricidad. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>incl</em>&nbsp;</td><td>inclinación. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>omega</em>&nbsp;</td><td>longitud del nodo ascendente. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argp</em>&nbsp;</td><td>argumento del perigeo. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nu</em>&nbsp;</td><td>anomalía verdadera. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>anomalía media. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>arglat</em>&nbsp;</td><td>argumento de latitud. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>truelon</em>&nbsp;</td><td>longitud cerdadera. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lonper</em>&nbsp;</td><td>longitud de periapsis. Perderá el valor que tuviera antes de llamar a ésta función. </td></tr>
  </table>
  </dd>
</dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00431">431</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

<p><div class="dynheader">
Gráfico de llamadas para esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_aafe8e1a26df7d91fb20be252f263a58a_cgraph.png" border="0" usemap="#classsgp4__math_aafe8e1a26df7d91fb20be252f263a58a_cgraph_map" alt=""></div>
<map name="classsgp4__math_aafe8e1a26df7d91fb20be252f263a58a_cgraph_map" id="classsgp4__math_aafe8e1a26df7d91fb20be252f263a58a_cgraph">
<area shape="rect" href="classsgp4__math.html#a33722da47f2bfa0849412316cddfabf5" title="this procedure calculates the angle between two vectors." alt="" coords="200,51,323,80"/><area shape="rect" href="classsgp4__math.html#ae74041d2049dee6fae0db1c6a7515643" title="this function finds the dot product of two vectors.." alt="" coords="388,5,500,35"/><area shape="rect" href="classsgp4__math.html#a66bce8799e00fe4c922b9f0434b6128e" title="this procedure finds the magnitude of a vector" alt="" coords="385,64,503,93"/><area shape="rect" href="classsgp4__math.html#aea3e78c4a67943a23eabdbd4d0585c3e" title="this file contains extra routines needed for the main test program for sgp4." alt="" coords="387,129,501,159"/><area shape="rect" href="classsgp4__math.html#a35d24a138a32d34caaf17e2cf023b947" title="this procedure crosses two vectors." alt="" coords="199,205,324,235"/><area shape="rect" href="classsgp4__math.html#a67021755c597c209e05704690f3324b2" title="this function solves keplers equation when the true anomaly is known." alt="" coords="188,259,335,288"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aea3e78c4a67943a23eabdbd4d0585c3e"></a><!-- doxytag: member="sgp4_math::sgn" ref="aea3e78c4a67943a23eabdbd4d0585c3e" args="(double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sgp4_math::sgn </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>this file contains extra routines needed for the main test program for sgp4. </p>
<p>----------------------------------------------------------------</p>
<dl class="author"><dt><b>Autor:</b></dt><dd>david vallado</dd></dl>
<p>this file contains extra routines needed for the main test program for sgp4. these routines are derived from the astro libraries.</p>
<p>companion code for fundamentals of astrodynamics and applications 2007 by david vallado</p>
<p>(w) 719-573-2600, email <a href="mailto:dvallado@agi.com">dvallado@agi.com</a></p>
<p>current : 7 may 08 david vallado fix sgn changes : 2 apr 07 david vallado fix jday floor and str lengths updates for constants 14 aug 06 david vallado original baseline ---------------------------------------------------------------- Indica el signo de un numero pasado como parametro </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>numero del que queremos conocer su signo </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>nos indicara con -1 numero negativo y +1 positivo </dd></dl>

<p>Definición en la línea <a class="el" href="sgp4__math_8cpp_source.html#l00036">36</a> del archivo <a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a>.</p>

<p><div class="dynheader">
Gráfico de llamadas a esta función:</div>
<div class="dynsection">
<div class="center"><img src="classsgp4__math_aea3e78c4a67943a23eabdbd4d0585c3e_icgraph.png" border="0" usemap="#classsgp4__math_aea3e78c4a67943a23eabdbd4d0585c3e_icgraph_map" alt=""></div>
<map name="classsgp4__math_aea3e78c4a67943a23eabdbd4d0585c3e_icgraph_map" id="classsgp4__math_aea3e78c4a67943a23eabdbd4d0585c3e_icgraph">
<area shape="rect" href="classsgp4__math.html#a33722da47f2bfa0849412316cddfabf5" title="this procedure calculates the angle between two vectors." alt="" coords="169,5,292,35"/><area shape="rect" href="classsgp4__math.html#aafe8e1a26df7d91fb20be252f263a58a" title="this function finds the classical orbital elements given the geocentric equatorial..." alt="" coords="343,32,473,61"/></map>
</div>
</p>

</div>
</div>
<hr/>La documentación para esta clase fue generada a partir de los siguientes ficheros:<ul>
<li><a class="el" href="sgp4__math_8h_source.html">sgp4_math.h</a></li>
<li><a class="el" href="sgp4__math_8cpp_source.html">sgp4_math.cpp</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generado el Tue May 22 09:43:57 2012 para sgp4oo por&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
